
/**
 * 发送get请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {function} callback 回调函数
 * @param {string|undefined} type 返回类型
 * @param {object} headers 自定义请求头
 * @return undefined
 */
function get(url, params, callback, type, headers){
    const xhr = new XMLHttpRequest
    xhr.onreadystatechange = () => {
        if (xhr.readyState === 4){
            if (xhr.status === 200){
                // 获取数据
                let res = xhr.responseText
                if (type==='json') res = JSON.parse(res)
                // 不同逻辑
                callback(res)
            } else {
                console.log('瑕疵：', xhr.status);
            }
        }
    }
    // ----------------------------
    let temp = []
    for (let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    // ----------------------------
    xhr.open('get', `${url}?${temp.join('&')}`)
    for (let key in headers){
        xhr.setRequestHeader(key, headers[key])
    }
    xhr.send(null)
}





/**
 * 发送post请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {function} callback 回调函数
 * @param {string|undefined} type 返回类型
 * @param {object} headers 自定义请求头
 * @return undefined
 */
 function post(url, params, callback, type, headers){
     const xhr = new XMLHttpRequest
     xhr.onreadystatechange = () => {
         if (xhr.readyState === 4){
             if (xhr.status === 200){
                 // 获取数据
                 let res = xhr.responseText
                 if (type==='json') res = JSON.parse(res)
                 // 不同逻辑
                 callback(res)
             } else {
                 console.log('瑕疵：', xhr.status);
             }
         }
     }
     // ----------------------------
     let temp = []
     for (let key in params){
         temp.push(`${key}=${params[key]}`)
     }
     // ----------------------------
     xhr.open('post', `${url}`)
     xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
     for (let key in headers){
         xhr.setRequestHeader(key, headers[key])
     }
     xhr.send(temp.join('&'))
 }